Quản lý bộ nhớ Nhân_hệ_điều_hành

Xem thêm thông tin: Quản lý bộ nhớ

Kernel có toàn quyền truy cập vào bộ nhớ của hệ thống và phải cho phép các tiến trình truy cập an toàn vào bộ nhớ này khi chúng yêu cầu. Thường thì bước đầu tiên để thực hiện việc này là định địa chỉ ảo, thường đạt được bằng cách phân trang và/hoặc phân đoạn. Định địa chỉ ảo cho phép kernel chuyển đổi một địa chỉ vật lý nhất định dường như là một địa chỉ khác, địa chỉ ảo. Không gian địa chỉ ảo có thể khác nhau đối với các tiến trình khác nhau; bộ nhớ mà một tiến trình truy cập tại một địa chỉ (ảo) cụ thể có thể là bộ nhớ khác với bộ nhớ mà một tiến trình khác truy cập tại cùng một địa chỉ. Điều này cho phép mọi chương trình hoạt động như thể nó là chương trình duy nhất (ngoại trừ hạt nhân) đang chạy và do đó ngăn chặn các ứng dụng gây lỗi cho nhau.[13]

Trên nhiều hệ thống, địa chỉ ảo của chương trình có thể tham chiếu đến dữ liệu hiện không có trong bộ nhớ. Lớp định hướng được cung cấp bởi địa chỉ ảo cho phép hệ điều hành sử dụng các kho lưu trữ dữ liệu khác, chẳng hạn như ổ cứng, để lưu trữ những gì nếu không sẽ phải lưu lại trong bộ nhớ chính (RAM). Kết quả là hệ điều hành có thể cho phép các chương trình sử dụng nhiều bộ nhớ hơn so với bộ nhớ vật lý có sẵn của hệ thống. Khi một chương trình cần dữ liệu hiện không có trong RAM, CPU báo hiệu cho hạt nhân và hạt nhân phản hồi bằng cách ghi nội dung của khối bộ nhớ không hoạt động vào ổ đĩa (nếu cần) và thay thế nó bằng dữ liệu được chương trình yêu cầu. Sau đó, chương trình có thể được tiếp tục lại từ điểm đã dừng. Đề án này thường được gọi là phân trang nhu cầu.

Định địa chỉ ảo cũng cho phép tạo các phân vùng ảo của bộ nhớ trong hai vùng riêng biệt, một vùng được dành riêng cho hạt nhân (kernel space) và vùng còn lại cho ứng dụng (user space). Bộ xử lý không cho phép các ứng dụng xử lý bộ nhớ dành cho kernel,do đó ngăn ứng dụng làm hỏng kernel đang chạy. Phân vùng cơ bản của không gian bộ nhớ này đã đóng góp nhiều vào các thiết kế hiện tại của các kernel có mục đích chung thực tế và gần như phổ biến trong các hệ thống, mặc dù một số nhân nghiên cứu (ví dụ, Singularity) có các cách tiếp cận khác.

Tài liệu tham khảo

WikiPedia: Nhân_hệ_điều_hành http://www.vmars.tuwien.ac.at/courses/akti12/journ... http://www.intel.com/design/pentium4/manuals/24547... http://widefox.pbwiki.com/Kernel%20Comparison%20Li... http://os.inf.tu-dresden.de/pubs/sosp97/#Karshmer:... http://i30www.ira.uka.de/research/publications/pap... http://www.cs.virginia.edu/papers/p337-wulf.pdf http://nooks.cs.washington.edu/nooks-tocs.pdf http://www.cs.washington.edu/homes/levy/capabook/i... http://csrc.nist.gov/publications/history/lind76.p... http://www.pangloss.it/libro.php?isbn=882042746X&i...